Topics

Decide How to Perform the Workflow To top of page

The following decisions should be made regarding the Test workflow:

  • Decide how to perform the workflow by looking at the Test: Workflow Details. Study the diagram with its guard conditions, and the guidelines below. Decide which workflow details to perform and in which order. 
  • Decide which parts of the Test workflow to perform. One key issue for the Test workflow is to decide which quality dimensions that are interesting for the project, see Concepts: Types of Tests. Based on that you can decide what different types of test you should focus on. following are some parts that can be introduced relatively independently of each other.
  • Decide when, during the project lifecycle, to introduce each part of the workflow. The Activity: Plan Test together with the Artifact: Test Plan are usually introduce early in the project.  

Document the decisions in the section "Core Workflows / Test / Workflow", in the Development Case.  

Decide How to Use Artifacts To top of page

Decide which artifacts to use and how to use each of them. The table below describes those artifacts you must have and those used in other cases. For more detailed information on how to tailor each artifact, and a discussion of the advantages and disadvantages of that specific artifact, read the section titled "Tailoring" for each artifact.

For each artifact, decide how the artifact should be used: Must have, Should have, Could have or Won't have. For more details, see Guidelines: Classifying Artifacts.

Artifact Brief Tailoring Comments (see the artifacts for details)
Test Case Must have. The question is to what extent are you going to create them.
Test Classes in the Design Model Should have. Use this, if necessary, when you develop the test components.
Test Components in the Implementation Model Must have. You will always develop components for testing.
Test Model Should have.
Test Packages in the Design Model Should have. Use this if you need to organize the test classes.
Test Plan Must have. You need a test plan, unless the testing is trivial.
Test Procedure Must have. This artifact is the actual testùthe question here is not if, but how and what kind of structure (format and detail) you are going to use.
Test Result Must have. This artifact is the raw data captured during the execution of test and used to evaluate the test and to calculate the different key measures of test.

Considerations include what type of data needs to be captured (based upon the key measures to be reported) and what tools are required to capture the data.

Test Script Must have for automated testing.

Could have. Based upon your structuring of the test procedures, determine if the test scripts will implement and execute entire test cases or use cases, or if they need to be combined with others to completely implement and execute a test cases or use cases.

Test Subsystems in the Implementation Model Should have. Use this if you need to organize the components.
Workload Analysis Document Must have for Performance Tests.

Should have if the structure (format and content) of the document is what you consider as being configurable.

Tailor each artifact by performing the steps described in the Activity: Develop Development Case, under the heading "Tailor Artifacts per Workflow".

Decide How to Review Artifacts To top of page

This section gives some guidelines to help you decide how you should review the test artifacts. For more details, see Guidelines: Review Levels.

Test cases

Test cases are created by the test team and are usually treated as Informal, meaning they are approved by someone within the test team. This is a natural decision, especially when members of the test team participated in the requirements workflow. If the test cases are developed by testers who have not been part of the requirements workflow, then the test cases are usually informally approved by project team members who participated in the requirements workflow.

Test cases can be treated as Formal-Internal.

If a customer wants to validate a product before it's released, some test cases could be selected as the basis for that validation. These test cases are treated as Formal-External.

Test procedures

Test procedures should be treated as Informal artifactsùapproved by someone within the test team and under configuration management control.

When test automation or external review are required, they are treated as Formal-Internal or Formal-External.

Test scripts

Test scripts are usually treated as Informal; that is, they are approved by someone within the test team.

If the test scripts are to be used by many testers, and shared or reused for many different tests, they should be treated as Formal-Internal.

Test artifacts in design and implementation

In the design model there are two test artifacts, test classes and test packages. In the implementation model there are two test artifacts, test subsystems and test components.

These artifacts are like design and implementation artifacts, however, they're created for the purpose of testing. The natural place to keep them is with the design and implementation artifacts. Remember to label them in such a way that they are clearly separated from the design and implementation of the system.

Defects

Defects are usually treated as Informal and are usually handled in a defect-tracking system. On a small project, you can manage the defects as a simple list, for example, using your favorite e-mail system. This is only manageable for small systemsùwhen the amount of defects grows, you need to start using a defect-tracking system.

Another decision to make is whether you need to separate the handling of defects, also known as  symptoms, from faults, which are the actual errors. In small systems, you may manage to track only the defects and implicitly handle the faults. However, as the system grows, you must separate the management of defects from faults. For example, several defects may be caused by the same fault. Therefore, if a fault is fixed, it's necessary to find the reported defects and inform those users who submitted the defects, which is only possible if defects and faults are managed separately.

Test plan

In any project where the testing is non-trivial, you need a test plan. In many cases, it's treated as Informal; that is, it's not reviewed and approved. If testing is important, it could be treated as Formal-Internal or even Formal-External.

Decide on Test Approval Criteria To top of page

You must decide who is  responsible for determining if an iteration has met its test criteria. This individual, or group, then decides if the iteration has met its test criteria, if all tests were completed successfully, and if the system fulfills the stipulated criteria.

The following are examples of what can be decided:

  • The system testers approve the system.
  • The customer approves the system, based on recommendations from the system testers.
  • The customer approves the system, based on the results of a demonstration test run on a certain set of tests. This set must be formally defined and is almost a part of the contract. These test cases are treated as Formal-External.

This is an important decisionùyou cannot reach a goal if you don't know what it is. It's important to note that for early iterations it may not be necessary for the tests pass; only that they have been identified, developed, and run.

Copyright  ⌐ 1987 - 2000 Rational Software Corporation

Display Rational Unified Process using frames

Rational Unified Process